Many software development tools are available today for use by software designers (or “developers”) in creating various types of software applications. Software “designers” and “developers” are used interchangeably herein, and generally refer to anyone involved with using a software development tool for authoring, designing, or otherwise creating or modifying a software application. In a software development environment, a developer may interact with a software development tool for writing code, compiling the code, testing or debugging the code, and packaging the resulting application for deployment in a run-time environment. The software development tool may be implemented as a software application that is stored to a computer-readable medium and executed by a computer processor to perform the tasks associated with aiding a developer in the development of a software application. As one example, an integrated development environment (IDE) is commonly used for developing software applications. In general, an IDE is a programming environment that has been packaged as a software application program, typically including a code editor, a compiler, a debugger, and a graphical user interface (GUI) builder. The IDE may be a stand-alone application or may be included as part of one or more existing and compatible applications. IDEs provide a user-friendly framework for many modern programming languages, such as Visual Basic, Java, and PowerBuilder. IDEs for developing markup language (e.g., HTML) applications are among the most commonly used.
Thus, IDEs provide software tools that allow a developer (e.g., a web developer) to create web pages, websites, interactive applications, and the like for use by end users (e.g., visitors to websites). Various IDEs exist in the current marketplace, such as DREAMWEAVER®, available from Adobe Systems Incorporated, and FRONTPAGE®, available from Microsoft Corporation. DREAMWEAVER is an IDE that allows web developers to design Hypertext Markup Language (HTML) web pages in both a code editor and a graphical-based design time environment. DREAMWEAVER also allows the developer to design in other languages, such as, for example, Extensible Markup Language (XML), Extensible HTML (XHTML), Active Server Page (ASP), COLDFUSION™ Markup Language (CFML™), and the like.
An IDE may allow a developer to create a document in an environment that includes both a text-based code view and a graphical-based design view. The code view renders the source code as text in a portion of the screen and allows the developer to see and manipulate the source code in the document file. For example, the developer may write and edit HTML or Cascading Style Sheets (CSS) code in the code view. The design view, on the other hand, is a What You See Is What You Get (WYSIWYG) view of the document that allows the user to visually manipulate the interpreted and graphically laid-out version of the document, such as, for example, by dragging, dropping, cutting, and pasting visual components. As the developer works, changes to the document are reflected in both the code view and the design view.
Many software applications depend on a received data feed. For instance, a software application may read data from a database or other data source, and present the data to a user and/or otherwise process the read data. For example, a webpage may read data from a database and present such data on a portion of its user interface, and/or a webpage may receive and present dynamic data, such as an RSS feed. Difficulty often arises when a designer is attempting to develop a software application that is to receive a data feed before such data feed is actually available to the software application. For example, a first developer may be developing a data feed that is to be available to a software application that is being designed/created by a designer, wherein the designer's work on creation of the software application may be impeded awaiting development of the data feed.
FIG. 1 shows an exemplary scenario 10 commonly encountered in the prior art. In this example, a developer 11 is developing a run-time feed 12, which may be, as examples, a dynamic feed, such as an RSS feed, streaming data, a dynamically updatable database, etc., or a static feed, such as a static database or file. Further, a designer 13 desires to create an application 15 that accesses such run-time feed 12. For instance, application 15 may be a website or other software application that reads data from run-time feed 12 and presents such data to a user (and/or otherwise processes the read data). To create such application 15, designer 13 interacts with a development tool 14, such as an IDE.
As this exemplary scenario 10 illustrates, dependency exists between the application 15 that is under development and the run-time feed 12, which is also under development (or is otherwise not yet available for access by the application 15). Thus, designer 13 may be forced to wait for the run-time feed 12 to be developed before being able to proceed with interacting with development tool 14 for designing the application 15. This may undesirably delay work on designing application 15.
Alternatively, to attempt to proceed with design of application 15 before run-time feed 12 becomes available, designer 13 may employ a temporary work-around in which the designer codes the application 15 such that application 15 does not reference run-time feed 12. In this manner, the designer may develop parts of the application 15 that are not dependent on the run-time feed 12 being present. For instance, the designer may code parts of the application that do not reference the unavailable run-time feed 12. Then, when run-time feed 12 becomes available, designer 13 may code the remaining portions of application 15 which are dependent on the run-time feed. As another example, before run-time feed 12 becomes available, designer 13 may initially code application 15 to reference some data feed that is currently available (e.g., an existing database, etc.), and then when run-time code 12 becomes available, designer 13 may modify the code to instead reference such run-time feed 12. Such work-around techniques become undesirably burdensome on the designer to manage, and they are prone to human error.
Accordingly, a desire exists for a software development tool, such as an IDE, that aids in eliminating the dependency in the workflow between the application designer and the data feed developer. Thus, a desire exists for a software development tool that aids in alleviating the dependency on a run-time feed being available during development of an application that references such run-time feed, while minimizing the burden on the application designer.